﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.Security;

namespace Mozlite
{
    /// <summary>
    /// 长度超出错误。
    /// </summary>
    public class OutOfLengthException :ApplicationException
    {
        /// <summary>
        /// 初始化类<see cref="T:Mozlite.OutOfLengthException"/>。
        /// </summary>
        public OutOfLengthException() : base() { }
        /// <summary>
        /// 初始化类<see cref="T:Mozlite.OutOfLengthException"/>。
        /// </summary>
        /// <param name="message">描述错误的消息。</param>
        public OutOfLengthException(string message) : base(message) { }
        /// <summary>
        /// 初始化类<see cref="T:Mozlite.OutOfLengthException"/>。
        /// </summary>
        /// <param name="message">描述错误的消息。</param>
        /// <param name="innerException">导致当前异常的异常。如果 innerException 参数不为空引用，则在处理内部异常的 catch 块中引发当前异常。</param>
        public OutOfLengthException(string message, Exception innerException) : base(message, innerException) { }
        /// <summary>
        /// 初始化类<see cref="T:Mozlite.OutOfLengthException"/>。
        /// </summary>
        /// <param name="info">保存序列化对象数据的对象。</param>
        /// <param name="context">有关源或目标的上下文信息。</param>
        [SecuritySafeCritical]
        protected OutOfLengthException(SerializationInfo info, StreamingContext context) : base(info, context) { }
        /// <summary>
        /// 获取描述当前异常的消息。
        /// </summary>
        public override string Message
        {
            get
            {
                if (string.IsNullOrEmpty(base.Message))
                    return "Tt's out of length!";
                return base.Message;
            }
        }
    }
}
